perm filename LOCKH.DOC[PIC,HE] blob
sn#308103 filedate 1977-09-22 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Lockheed picture format
C00007 ENDMK
C⊗;
Lockheed picture format
Tape format
2052 words/record integers
16 bits/word
for 512x512 pixel images
they have 4 lines/record (with 4 unused words)
lines are horizontal
9 bits per pixel in range 0-511
Text of header file in words 31-70
Image file header record info
word name meaning
1 ipsb storage bits per pixel
2 isize code for image size quanta
3 ixl horizontal file length in pixels
4 iyl vertical file length in pixels
5 imode file storage mode (horiz or vertical)
6 ipib information bits per pixel
7-9 date month, day,, and year from rdos system call
10-12 time hour, minute, and second from rdos system call
13 ipps pixel pre-pack bit shift amount
14 ipus pixel post-unpack bit shift amount
15 ixs horizontal starting position
16 iys vertical starting position
17 idt data type of pixel elements
18 isf scale factor of pixel elements
19 ipob offset bits (low-order) per pixel
20 imsk pixel pre-display post-shift "and" mask
21 ihvn header format version number
22 nwe number of words/element
23-30 currently undefined; set to zero
31-70 text text string for user comments
71-256 currently undefined; set to zero
Explanations
Header Format Evolution: The header format
version number defines what the rest of the header rcord
contains and how it is to be interpreted.
For version 1: Th pixel data format is defined by ipsb, ipib, ipob, idt, and imsk.
The stored pixel values are not packed, ie, ther is one pixel per word
always. Within the word, the pixel value can or will be shifted
right or left when displaying and/or keeping. The subroutine ALTER
is used for shifting and/or masking; if neither operation is wanted,
the data is ready in the same buffer and no time is wasted moving and preparing
data. For displaying, the "and" mask IMSK is appεied--after any shifting
is finished to remove undesired bits in the word.
An imsk value of 0 causes the masking operation to be avoided; it is logically
equivalent to a value of -1.
Data model ----xxxxxxxx----
ipib=8 ipob=4
ipsb=16
For any data movement operation, a default signed shift is automatically
computed and undertaken unless the user explicitly specifies an alternate
value to be used. The default shift amount--given by the equation
below--is designed so that alignment occurs with respect to the highest-order
information bit. Scanner core pixel data format is assumed to be ipsb=16,
ipib=9, and ipob=8. ishift=(ipib+ipob)new-(ipib+ipob)old.
Note that ipps and ipus are not utilized for header format version 1.